//// : xml/Person.java
//// Use the XOM library to write and read XML
//// {Requires: nu.xom.Node; You must install
//// the XOM library from http://www.xom.nu }
// import nu.xom.*;
// import java.io.*;
// import java.util.*;
//
// public class Person {
// private String first, last;
// public Person(String first, String last) {
// this.first = first;
// this.last = last;
// }
// // Produce an XML Element from this Person object:
// public Element getXML() {
// Element person = new Element("person");
// Element firstName = new Element("first");
// firstName.appendChild(first);
// Element lastName = new Element("last");
// lastName.appendChild(last);
// person.appendChild(firstName);
// person.appendChild(lastName);
// return person;
// }
// // Constructor to restore a Person from an XML Element:
// public Person(Element person) {
// first= person.getFirstChildElement("first").getValue();
// last = person.getFirstChildElement("last").getValue();
// }
// public String toString() { return first + " " + last; }
// // Make it human-readable:
// public static void
// format(OutputStream os, Document doc) throws Exception {
// Serializer serializer= new Serializer(os,"ISO-8859-1");
// serializer.setIndent(4);
// serializer.setMaxLength(60);
// serializer.write(doc);
// serializer.flush();
// }
// public static void main(String[] args) throws Exception {
// List<Person> people = Arrays.asList(
// new Person("Dr. Bunsen", "Honeydew"),
// new Person("Gonzo", "The Great"),
// new Person("Phillip J.", "Fry"));
// System.out.println(people);
// Element root = new Element("people");
// for(Person p : people)
// root.appendChild(p.getXML());
// Document doc = new Document(root);
// format(System.out, doc);
// format(new BufferedOutputStream(new FileOutputStream(
// "People.xml")), doc);
// }
// } /* Output:
// [Dr. Bunsen Honeydew, Gonzo The Great, Phillip J. Fry]
// <?xml version="1.0" encoding="ISO-8859-1"?>
// <people>
// <person>
// <first>Dr. Bunsen</first>
// <last>Honeydew</last>
// </person>
// <person>
// <first>Gonzo</first>
// <last>The Great</last>
// </person>
// <person>
// <first>Phillip J.</first>
// <last>Fry</last>
// </person>
// </people>
// *///:~
